/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.app.param.shop;

import com.shop.cereshop.commons.domain.common.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 商品搜索请求
 */
@Data
@ApiModel(value = "SearchParam", description = "店铺搜索请求")
public class ShopParam extends PageParam {
    /**
     * 店铺类型
     */
    @ApiModelProperty(value = "店铺类型,1同城服务,2表示线上购,3表示同城配送", required = true)
    private Integer shopType;

    /**
     * 搜索字段
     */
    @ApiModelProperty(value = "搜索字段")
    private String search;

    /**
     * 搜索类型
     */
    @ApiModelProperty(value = "1-商品,2-店铺,3-购物车")
    private Integer searchType;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    private Long shopId;
    /**
     * 店铺id
     */
//    @ApiModelProperty(value = "店铺id集合  后续查询收藏使用")
//    private List<Long> shopIds;

    /**
     * 是否新品 1-是 0-否
     */
    @ApiModelProperty(value = "是否新品标签，1具有，0否")
    private Integer ifNew;

    /**
     * 价格排序条件 1-升序 2-降序
     */
    @ApiModelProperty(value = "价格排序条件 1-升序 2-降序")
    private Integer type;


    /**
     * 销量排序条件 1-升序 2-降序
     */
    @ApiModelProperty(value = "销量排序条件 1-升序 2-降序")
    private Integer volume;

    /**
     * 城市编码
     */
    @NotNull(message = "城市编码为必传项")
    @ApiModelProperty(value = "城市编码", required = true)
    private String cityCode;

    /**
     * 分类id
     */
    @ApiModelProperty(value = "分类id")
    private Long classifyId;


    @ApiModelProperty(value = "分类层级")
    private Integer classifyLevel;

    /**
     * 分组id
     */
    @ApiModelProperty(value = "分组id")
    private Long groupId;

    /**
     * 最小价格
     */
    @ApiModelProperty(value = "最小价格")
    private BigDecimal minMoney;

    /**
     * 最大价格
     */
    @ApiModelProperty(value = "最大价格")
    private BigDecimal maxMoney;

    /**
     * 距离区间范围
     */
    @ApiModelProperty(value = "距离区间范围")
    private Double distance;

    /**
     * 是否全天
     */
    @ApiModelProperty(value = "是否全天")
    private Integer AllDays;

    /**
     * 店铺点位
     */
    @ApiModelProperty(value = "用户点位")
    private String location;


    /**
     * 商品二级分类id
     */
    @ApiModelProperty(value = "商品二级分类id")
    private Integer classifyTwoId;

    /**
     * 是否最新上架1-升序 2降序
     *
     */
    @ApiModelProperty(value = "是否按照上架的时间顺序来排序")
    private Integer timeOrder;
    /**
     * 是否按照好评优先排序 1-升序2降序
     */
    @ApiModelProperty(value = "是否按照好评优先排序")
    private Integer commentOrder;




}
